package com.csaba.connector.model;

import java.util.Currency;

public class Account extends AbstractRemoteObject
{
	private static final long serialVersionUID = 2585677395324628331L;

	private String number;
	private String IBAN = ""; //optional //$NON-NLS-1$
	private String type;
	private String name;
	private Currency currency;
	private Amount availableBalance;
	private Amount bookedBalance;
	private Bank bank;
	private Customer customer;//TODO an account can be related to more customer! the customer cannot be stored here...

	//TODO add service enablement matrix
	public String getNumber()
	{
		return number;
	}

	public void setNumber( final String number )
	{
		this.number = number;
	}

	public String getType()
	{
		return type;
	}

	public void setType( final String type )
	{
		this.type = type;
	}

	public String getName()
	{
		return name;
	}

	public void setName( final String name )
	{
		this.name = name;
	}

	public Currency getCurrency()
	{
		return currency;
	}

	public void setCurrency( final Currency currency )
	{
		this.currency = currency;
	}

	public Amount getAvailableBalance()
	{
		return availableBalance;
	}

	public void setAvailableBalance( final Amount availableBalance )
	{
		this.availableBalance = availableBalance;
	}

	public Amount getBookedBalance()
	{
		return bookedBalance;
	}

	public void setBookedBalance( final Amount bookedBalance )
	{
		this.bookedBalance = bookedBalance;
	}

	public String getIBAN()
	{
		return IBAN;
	}

	public void setIBAN( final String iban )
	{
		IBAN = iban;
	}

	public Customer getCustomer()
	{
		return customer;
	}

	public void setCustomer( final Customer customer )
	{
		this.customer = customer;
	}

	public Bank getBank()
	{
		return bank;
	}

	public void setBank( final Bank bank )
	{
		this.bank = bank;
	}

	@Override
	public String toString()
	{
		return number + " " + name + " " + currency; //$NON-NLS-1$ //$NON-NLS-2$
	}

}
